namespace Expect.Documentation.Base_concepts
{
    using System;
    using Expect.Core;
    using Expect.Core.Fixtures;
    using Microsoft.VisualStudio.TestTools.UnitTesting;
    
    
    // This file is intended to contain your fixtures, you could modify it's content freely because it won't be generated again
    // Please note that if you rename the parent .expect file, this file will not be renamed automatically
    public partial class MultipleSpecificationsInAFileContainer : Expect.Core.Interfaces.ISpecificationContainer
    {
        partial void AfterTeardownExtension()
        {
            Assert.AreEqual("Ok", Context.Data["Teardown"]);
        }

        [FixtureHint("This sentence is executed within a specification bloc")]
        public void ThisSentenceIsExecutedWithinASpecificationBloc()
        {
            Context.Data["SpecLocation"] = "Container";
        }

        [FixtureHint("This sentence is executed before each specification")]
        public void ThisSentenceIsExecutedBeforeEachSpecification()
        {
            Context.Data["Setup"] = "Ok";
        }

        [FixtureHint("This sentence is executed after each specification")]
        public void ThisSentenceIsExecutedAfterEachSpecification()
        {
            Context.Data["Teardown"] = "Ok";
            Assert.AreEqual("Ok", Context.Data["Setup"]);
        }

        [FixtureHint("The call must come from |*|")]
        public void TheCallMustComeFrom(string specLocation)
        {
            Assert.AreEqual(specLocation, Context.Data["SpecLocation"]);
        }
    }
}

